• Wednesday, October 2, 2024

    The 2024 Ruby on Rails Community Survey has gathered insights from over 2,700 developers across 106 countries, marking the eighth iteration of this survey since its inception in 2009. The aim is to understand the current state of the Ruby on Rails framework and its community, tracking trends and emerging practices in development. The survey reveals a diverse demographic of participants, with a significant portion from the United States, followed by Germany and the United Kingdom. The data collected includes developers' years of experience with Rails, their learning paths, and the types of applications they work on. Notably, there has been a shift in hiring practices, with experience becoming more valued than formal credentials, reflecting a broader trend in the tech industry. In terms of team dynamics, many developers reported working in small teams, with a notable increase in remote work since the pandemic. The survey also highlights the importance of keeping applications updated, with many developers indicating that they are using the latest stable versions of Ruby and Rails. However, challenges remain, particularly for teams dealing with legacy code and business constraints. The survey delves into the types of applications being developed, revealing a preference for monolithic architectures over microservices. Additionally, it explores the learning methods employed by Rails developers, emphasizing a community that thrives on hands-on experience and practical tutorials. The Rails Foundation is actively working to enhance educational resources and documentation to support this learning culture. Open source contributions remain a vital aspect of the Rails community, with developers expressing a desire for more opportunities to engage in open source projects. The survey also identifies popular Ruby gems, highlighting both favorites and those that developers find frustrating. The data indicates a strong preference for PostgreSQL as the relational database of choice among Rails developers. As for deployment practices, the survey shows a slight decline in daily deployment frequency, with GitHub and GitHub Actions being the most favored tools for source code hosting and automation. The community's approach to code quality and security is also examined, with a focus on the tools and frameworks used for testing and monitoring applications. Looking ahead, the survey captures developers' sentiments about the future of Rails, with many expressing confidence in its relevance and security. There is a call for improved documentation, more local events, and greater inclusivity within the community. The overall sentiment is one of optimism, with a recognition of the ongoing growth and enthusiasm surrounding Ruby on Rails. In conclusion, the 2024 survey reflects a vibrant and evolving Ruby on Rails community, with a commitment to continuous improvement and collaboration. The insights gathered will help shape the future of the framework and support developers in their ongoing journey with Ruby on Rails. Planet Argon, the organization behind the survey, remains dedicated to fostering this growth and connecting with the community in the years to come.

  • Thursday, July 25, 2024

    This article discusses the results of the 14th annual Stack Overflow Developer Survey. This year's most popular technologies are JavaScript and PostgreSQL. Rust and Markdown are the most admired. Developers are frustrated with technical debt at work, but they don't see AI as a threat. While most developers use or plan to use AI tools, many don't trust the accuracy of the technology.

  • Friday, July 26, 2024

    The 2024 Stack Overflow Developer Survey revealed that JavaScript and PostgreSQL remain the most popular technologies, while Rust and Markdown are the most admired. Developers are increasingly frustrated by technical debt at work, but they don't perceive AI as a threat to their jobs. Although 76% of developers are using or planning to use AI tools, many remain skeptical about their accuracy and ability to handle complex tasks.

  • Tuesday, October 1, 2024

    Ruby on Rails has long been a defining framework in the web development community, inspiring attempts to replicate its success in various programming languages. While some frameworks like Laravel, ASP.NET, and Phoenix have found success, many others in languages such as Java, Kotlin, Scala, Node.js, Go, and Rust have struggled to achieve widespread adoption. The key to Ruby on Rails' success lies in its creator's strong opinions, which were translated into conventions that simplified the development process. This approach stood in stark contrast to the more configuration-heavy frameworks of the early 2000s. A common issue with many Rails-like frameworks is the lack of decisive conventions. Framework creators often adopt a non-committal stance, leaving choices up to individual developers. This can hinder the framework's usability, as developers are often overwhelmed by the need to make numerous decisions before they can begin working. Strong opinions and clear conventions are essential for a framework to be user-friendly and to facilitate rapid development. One significant area for improvement in modern frameworks is the handling of primary keys in databases. Traditionally, auto-incrementing primary keys have been the default, but this practice can expose sensitive information. Instead, using universally unique identifiers (UUIDs) is recommended, as they provide better security and scalability options. The framework should adopt a clear stance on this issue, ensuring that the public API uses identifiers that are safe to share. In addition to database design, a modern Rails-like framework should prioritize an API-first approach. Given the diverse range of front-end technologies available today, from mobile apps to IoT devices, a robust API is essential. While various protocols exist, RESTful APIs remain the most universally supported, making them a practical choice for a framework's foundation. To complement the API-first strategy, the framework should also implement a solid API specification, such as OpenAPI. This would facilitate the generation of high-quality documentation and improve the overall developer experience. By automatically creating an OpenAPI specification from the code, the framework can enhance integration capabilities and streamline third-party interactions. Another innovative idea is to decouple models from the database by generating them from upstream APIs. This would alleviate the common pain point of third-party integrations, allowing developers to easily compose applications and leverage existing APIs. Improved tooling for API code generation is also necessary to ensure high-quality output. The structure of the framework's codebase is another critical consideration. A feature-first structure, where controllers, models, and views are organized by feature rather than by layer, can help prevent accidental coupling and make the codebase easier to manage as it grows. This approach aligns with domain-driven design principles and encourages developers to focus on local solutions without prematurely generalizing their code. Ultimately, for a Rails-like framework to succeed, it must evolve beyond simply replicating Ruby on Rails conventions. The landscape of application development has changed significantly since 2003, and new conventions must be established to facilitate rapid development while avoiding common pitfalls. By making decisive choices and prioritizing developer experience, a modern framework can carve out its niche in the competitive landscape of web development.

  • Wednesday, August 21, 2024

    The 2024 Design System Report survey invites all who use or create design systems to share their insights. This year's survey, now shorter and more impactful, focuses on understanding community challenges and successes across various aspects of design systems. Your feedback will shape a comprehensive report with valuable best practices.

  • Monday, September 23, 2024

    A recent Stack Overflow survey revealed that 80% of developers are unhappy with their jobs, with many reporting feeling burnt out and demoralized. The primary culprit appears to be a combination of factors, including unrealistic expectations, technical debt, bureaucratic obstacles, and a lack of work-life balance.

  • Wednesday, April 24, 2024

    This interview tells the story of Pedro, who transitioned from a lorry driver to a Ruby on Rails developer at the age of 38. He was relentless in getting his first job after learning to program online through a bootcamp. Pedro encourages developers to always focus on learning, ask questions often, and find a mentor to help them grow faster.

  • Tuesday, June 4, 2024

    The creator of Ruby on Rails, David Heinemeier Hansson, realized that the success of the framework was not due to his attempts to convince others, but rather by showcasing its capabilities and letting others decide for themselves. He now believes in respecting the various preferences of programmers and encouraging them to find the language that best suits their individual style and needs.

  • Wednesday, May 22, 2024

    Stripe's codebase is mostly written in Ruby and lives in a single large monorepo. It supports a number of services that share code extensively. The company's tooling was built and is maintained by a succession of teams and individuals, with the needs of the environment changing as the team and codebase grew and evolved. This article discusses the features of Stripe's developer environment and explains the reasoning behind the choices made during its development. Maintaining developer productivity as an engineering organization grows is difficult - it is almost inevitable that per-engineer productivity drops as companies and codebases grow.

  • Tuesday, April 9, 2024

    This author worked full-time on an open-source project for 503 days and learned a large number of lessons, such as how to interact properly with project users and contributors. He shares the importance of using your online presence to find opportunities and embracing feedback during code reviews instead of being defensive.

    Hi Impact
  • Thursday, August 1, 2024

    Stack Overflow's most recent annual Developer Survey showed that a majority of developers hate their jobs. Reasons for the dissatisfaction include failed expectations, technical debt, hustle culture, bureaucracy, and uncertainty and fear when it comes to career prospects. While most developers are in favor of using AI tools, many don't consider the tools reliable. 70% of professional programmers don't see AI as a threat to their work - many are instead worried about the spread of misinformation and misguided tasks.

  • Thursday, September 26, 2024

    The recent survey conducted by Stack Overflow, which included over 65,000 developers, provides valuable insights into the current state of AI coding tools and their integration into developer workflows. As the initial excitement surrounding these tools has subsided, developers have begun to assess their effectiveness and reliability more critically. A significant majority, 76% of developers, are either using or planning to use AI coding tools, reflecting a rise from 70% the previous year. However, there is a notable skepticism regarding the trustworthiness of these tools. While 72% of respondents expressed a favorable view of AI coding tools, this figure has decreased from 77% in 2023, indicating that as more developers have engaged with these tools, some have encountered disappointments regarding their performance. Trust in AI output remains a contentious issue, with 42% of developers affirming their trust in the accuracy of AI-generated results, while 31% do not trust them. A further 27% remain neutral, suggesting that many developers are still forming their opinions based on their experiences. Developers recognize the benefits of AI tools, particularly in enhancing productivity (81%), accelerating learning (62%), and improving efficiency (58%). However, there is a consensus that AI tools struggle with complex tasks, with 45% of professional developers rating their performance in this area as poor. Interestingly, only 30% attribute these shortcomings to user error or inadequate training, indicating a broader concern about the tools themselves. Concerns about AI tools include a general distrust of their output and a lack of contextual understanding of specific organizational codebases. Despite these reservations, developers anticipate that AI tools will become increasingly integrated into their workflows for tasks such as documentation, testing, and coding. The survey also highlights ongoing challenges developers face in accessing the information they need. Many report that waiting for answers disrupts their workflow, with over half agreeing that they struggle to find timely and accurate information. A significant portion of developers spends considerable time—often 30 minutes or more each day—searching for solutions or answering questions from colleagues, which can detract from their productivity. Knowledge silos, where critical information is not shared across teams, further hinder productivity, affecting 30% of developers multiple times a week. This situation underscores the importance of fostering a culture of continuous learning and knowledge sharing within organizations. In response to these challenges, Stack Overflow is enhancing its platform with AI features designed to streamline the process of finding relevant and trustworthy information, thereby improving coding productivity and efficiency. The survey results suggest that while AI tools have potential, there is still significant room for improvement in their reliability and integration into developers' daily tasks.

  • Friday, March 8, 2024

    Java developer demand and investment in related developer tools are expected to significantly increase in 2024 and beyond.

  • Tuesday, August 20, 2024

    The developer environment at Stripe has tools and infrastructure built to support a large Ruby monorepo. Code is run on cloud-based devboxes instead of local machines. The company's team team invested heavily in automated code synchronization and a unified command-line tool called "pay" to manage devbox interactions. This post discusses the importance of organizational scale and codebase characteristics in shaping the design and success of the developer tooling.

  • Friday, July 12, 2024

    Fullstack or backend dev? You don't want to miss this discussion with contributors, founders, and CEOs building the tools that they use everyday - from Laravel to Node. Who's attending? → Taylor Otwell (Laravel CEO/Founder), Paul Copplestone (Supabase CEO/Founder), and Soren Schmidt (Prisma CEO) → Yagiz Nizipli (Node & Sentry) and Sarah Guthals (Sentry) → You! What's on the agenda? The future of backend frameworks and databases, How AI will impact backend development, Best practices for building scalable and secure databases. Save your spot and submit your questions in advance!

  • Friday, June 14, 2024

    The Pragmatic Engineer's survey of GenZ software engineers revealed that despite generational labels, young software engineers share common traits with older ones, particularly in valuing supportive and accommodating work environments. GenZ respondents are described as energetic, ambitious, and adept communicators who are ready to make a significant impact in the tech industry.

  • Thursday, July 25, 2024

    The results of the 2023 State of React survey have been released. React is still the most popular web dev framework. React Server Components was the biggest change since React Hooks were introduced in 2018. Hooks has achieved widespread adoption, but Server Components requires deeper integration, so it may not see the same level of immediate adoption.

  • Thursday, May 9, 2024

    This thread discusses the different ways open source work can help in one's career. For those without certificates from higher education, open source can work as a CV, demonstrating work to potential employers. Contributing to open source can also widen your network and help you find employment. Working with open source can help develop the ability to jump into other people's codebases very quickly, allowing you to become more efficient quickly. It also shows that you can complete tasks/projects without anyone telling you exactly what to do.

    Hi Impact
  • Friday, August 30, 2024

    Python continues to lead IEEE Spectrum's 2024 programming language rankings, driven by its dominance in AI and education, while SQL remains highly sought after by employers. Rising stars include TypeScript and Rust, with the latter gaining attention for its memory safety features.

  • Thursday, August 15, 2024

    Atlassian's emphasis on "developer joy" as a strategic priority has led to a substantial increase in developer satisfaction and productivity. Through targeted improvements in tools and processes, it has achieved measurable success, including a 50% reduction in pull request cycle time and a 3x increase in deployment frequency. This focus on joy not only enhances individual performance but also paves the way for broader team well-being and success.

  • Tuesday, July 9, 2024

    Between 2018 and 2023, GitHub grew its ARR from $250 million to over $1 billion and its user base from 30 million developers to over 100 million. Its growth strategy includes an unwavering developer-centric positioning, expanding its platform with relevant and innovative solutions to its users' problems, and strong cultural values and community alignment. Despite initial criticism when Microsoft acquired the company, GitHub stuck to its own positioning and maintained a brand that developers trust.

    Hi Impact
  • Wednesday, September 25, 2024

    Swarmia, the all-in-one software engineering intelligence platform, offers insights at the intersection of business outcomes, developer productivity, and developer experience. It features research-backed productivity metrics like SPACE and DORA, tracks engineering time, and runs DX surveys. Trusted by teams at Miro, Webflow, Docker.

  • Monday, September 30, 2024

    The GitHub Repository Visualizer is a tool designed to provide insights into various aspects of a GitHub repository. Users can start by entering the repository owner's name and the specific repository they wish to analyze. Once the information is submitted, the visualizer generates a detailed breakdown of the repository's contents. One of the key features of the visualizer is its ability to display the programming languages used within the repository. Users can interact with a chart that illustrates the percentages of different languages, allowing for a quick understanding of the technological stack employed in the project. Additionally, the visualizer highlights the top contributors to the repository, showcasing their commit counts. This feature emphasizes the collaborative nature of the project and recognizes the individuals who have significantly contributed to its development. Another important aspect presented is the comparison between the number of stargazers and forks. This metric provides insight into the repository's popularity and how many users have chosen to engage with or replicate the project. The tool also tracks the duration of the repository's activity, giving users a sense of its longevity and ongoing development. In conclusion, the GitHub Repository Visualizer offers a comprehensive overview of a selected repository, making it easier for users to appreciate its structure, contributions, and overall engagement within the GitHub community. For those interested in exploring more projects, the visualizer encourages users to visit the creator's website for additional resources and tools.

  • Tuesday, August 27, 2024

    It's not unusual to find a ratio of 25:1 between developers and ops people in modern software development environments. Giving developers the tools to succeed is more challenging than ever. This ebook, authored by Director of Software Architecture and Distinguished Engineer Christian Oestreich, covers 9 critical practices that enable developers to focus on writing high quality code. These include: Baking ops tasks into project bootstrapping, Building libraries to accelerate code instrumentation, Integrating reporting agents into hosts and containers, Automating platform compliance checks. To see the full list and a detailed explanation of each principle, download the full ebook from Datadog (free).

  • Friday, August 16, 2024

    Rails 7.2 has better production defaults, performance boosts with YJIT enabled by default, optimized Puma settings, and easier setup with pre-configured development containers.

  • Wednesday, July 17, 2024

    This blog post contains a list of lessons learned by a developer from 35 years of making software. The advice covers topics such as relationships, chasing interests, how people see the world, different mindsets to develop, and more. A lot of career progression in white-collar work is gained through developing relationships.

  • Friday, August 23, 2024

    This blog post contains a list of lessons learned by a developer from 35 years of making software. The advice covers topics such as relationships, chasing interests, how people see the world, different mindsets to develop, and more. A lot of career progression in white-collar work is gained through developing relationships.

  • Thursday, October 3, 2024

    The content appears to be a snapshot of a GitHub repository page for Expensify's application, specifically focusing on the offline user experience (UX) documentation. The repository is public and includes various sections that facilitate collaboration and development within the software community. The navigation menu at the top provides access to different features and tools offered by GitHub, such as product automation, security vulnerability management, and code review processes. It highlights the platform's capabilities, including GitHub Copilot for AI-assisted coding and Codespaces for instant development environments. The repository itself has a significant number of contributions, indicated by the metrics showing 2.8k forks and 3.4k stars, which reflect community engagement and interest. There are also numerous issues and pull requests, suggesting active development and collaboration among contributors. The footer of the page includes standard links to GitHub's terms, privacy policy, and support resources, ensuring users can navigate to important information regarding their use of the platform. Overall, the content emphasizes the collaborative nature of software development on GitHub, showcasing tools and resources that enhance productivity and security while fostering community involvement in projects like Expensify's application.

  • Tuesday, July 16, 2024

    Discover SurveyJS, an open-source JavaScript library suite for secure form creation and data collection in your application. Build complex JSON-driven surveys and forms quickly and without manual coding. Collect and store responses while retaining full control over your data. Integrate with any backend system. Enjoy a configurable drag-and-drop interface and a CSS theme editor for precise form styling. Start with the free, full-featured demo

  • Monday, June 24, 2024

    The concept of the "10x developer" is a myth, as individual contributions have less impact on project success than the quality of collaboration. Successful organizations foster a culture of community learning, enabling knowledge sharing and collaboration across teams. Developers can contribute to this culture by actively engaging in learning and sharing mistakes.

    Hi Impact